home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 19.zip / BS1 part 19 / AmigaLibDisk 154.adf / Wicon / wicon.doc < prev    next >
Text File  |  1987-06-15  |  11KB  |  290 lines

  1. WICON(1)                    USER COMMANDS                  WICON(1)
  2.  
  3.  
  4.  
  5. NAME
  6.      wicon - Window Iconifier
  7.  
  8. SYNOPSIS
  9.      wicon [-[!]a] [-b [/|*]boxes] [-c [+|-]chars] [-[!]d] [-[!]f]
  10.        [-[!]i] [-l lines ][-p [+|-]priority] [-[!]q] [-[!]r]
  11.        [-[!]s] [-[!]t] [-[!]w] [-W console] [-[!]&]
  12.      wicon ?        ; list arguments and their defaults
  13.      wicon        ; close an invocation of wicon
  14.  
  15. DESCRIPTION
  16.      Wicon operates on only one screen at a time. The WorkBench
  17.      screen is chosen unless the -f (first screen) argument is
  18.      set.  A Window can be `iconified', when it is `active' by hitting
  19.      it with the RMB (Right Mouse Button). The specific method
  20.      depends on the code, at the moment, you must not move the
  21.      mouse between pressing and releasing the RMB. This must also
  22.      be done within DoubleClickTime(3), ie set from Preferences.
  23.  
  24.      Some windows are by exempt from this iconification. Workbench
  25.      windows are those that are controlled a 'loadwb' program. From
  26.      a progamming view, they are those windows where we can say
  27.      (Window->Flags | WBENCHWINDOW). This was done because when a
  28.      window's icon is double-clicked, that window (if alrady open)
  29.      is brought to the front. However to iconify these windows would
  30.      be an advantage to those with floppys and full directorys. Just
  31.      use "WBWINDOWS=TRUE" or "-w" to be able to iconify them.
  32.  
  33.      After much experimenting, I found that I liked to iconify windows
  34.      with a single Right Mouse Button (RMB) click.  This causes problems
  35.      on programs that do things on a RMB event :
  36.  
  37.      1> To get a menu
  38.      2> To freeze a display
  39.      3> To choose something on the display
  40.  
  41.      The solution was, to not give the process (or active window) the
  42.      RMB down and up events if they were signally Wicon to do its bit.
  43.      For (1) and (2) this was Ok, because you just move the mouse a
  44.      little and you don't think anythings amiss.
  45.  
  46.      Unfortunately for things like AMIGAP and DME, where it is nice to
  47.      use short sharp clicks, this was a pain.  So if RMBTRAP=FALSE
  48.      (which is the default) windows that expect RMB events,
  49.      (ie. Window->IDCMPFlags | RMBTRAP), can't be iconified. To be
  50.      able to iconfiy them, say "RMBTRAP=TRUE" or "-r"
  51.  
  52.      Note: During a RMB click, the event will not reach intuition
  53.        unless it is held down for DoubleClickTime(3), or the
  54.        mouse is moved!. Hence, to use menus quickly move the
  55.        mouse as you click the RMB.
  56.  
  57.      Wicon currently is installed with MacWin, which does `rubber-
  58.      banding' on OpenWindow & CloseWindow (as well as Iconification).
  59.      ie. Does it for all Windows in the system. To turn it off,
  60.      set BOXES=0 in the Wicon.info or use -b0 on the command line.
  61.      To use it on only the `Wicon' screen, turn the ALLSCREENS flag
  62.      off "-!a" or "ALLSCREENS=FALSE".
  63.  
  64.      All of the command line options can be used from WorkBench, ie
  65.      in the wicon.info, just make them ToolTypes. Also the Manx one
  66.      WINDOW=CON:X/Y/W/H/name can be used as well. (for error msgs).
  67.      You can also use the standard ones like `BOXES=30',
  68.      ie instead of `-B30'.
  69.  
  70.      The Command line will accept things like:
  71.  
  72.     wicon -b 30 -p +5    ; \
  73.     wicon -b30 -p+5     ;  > 30 boxes, increase priority by 5
  74.     wicon BoxEs=30 PRI=+5    ; /
  75.     wicon -b /2        ; only use 1/2 the default boxes
  76.     wicon -b0x11        ; 17 (in hex) boxes
  77.     wicon -b 013        ; 11 (in octal) boxes
  78.     wicon BOXES=\13     ; 11 (in octal) boxes
  79.  
  80.     The `-' options are all case sensitive. The string ones eg 'BoXeS'
  81.     aren't.
  82.  
  83.      -& | -!&
  84.      EXECV=boolean
  85.         If true, runs an invocation of itself. This would be used
  86.         from s:startup-sequence, ie "wicon -&" doesn't return
  87.         until its child is running, thus avoiding disk
  88.         thrashing with the subsequant script command. It does the
  89.         same thing as `runback -? wicon'. Argument checking is
  90.         carried out by the parent, so the child should be Ok, but
  91.         the parent exits after 10 seconds if it can't find the
  92.         child
  93.  
  94.      -a | -!a
  95.      ALLSCREENS=boolean
  96.         Turns off `MacWindows' for all but the Wicon Screen.
  97.         This is FALSE (-!a) by default.
  98.  
  99.      -b boxes
  100.      BOXES=short
  101.         The number of rubber-bands: each one takes one cycle, or
  102.         screen update. Default is 15, ie 15/50ths of a second
  103.         for PAL machines, 15/60ths for NTSC. When boxes=0, rubber
  104.         banding is turned off.
  105.  
  106.      -c chars
  107.      CHARSACROSS=short
  108.         The number of characters displayed in an iconfied
  109.         window's title. Default is 12. This excludes depth
  110.         gadgets. (ie when DEPTHGADGETS=TRUE the window is longer)
  111.  
  112.      -d | -!d
  113.      DEPTHGADGETS=boolean
  114.         Whether the wicons (Windows impersonating icons) have
  115.         depth arrangement gadgets. (They take up about 50 pixels).
  116.         Default is true (-d). When STICKY=TRUE, then
  117.         DEPTHGADGETS=FALSE, otherwise the wicons would dissappear.
  118.  
  119.      -f | -!f
  120.      FIRSTSCREEN=boolean
  121.         Rather than use WorkBench as your Wicon Screen, use the
  122.         FirstScreen. Just move the screen you want to the front.
  123.         This is FALSE by default (-!f).
  124.  
  125.      -i | -!i
  126.      ICONIFY=boolean
  127.         Whether to do the Iconification stuff at all, ie if you
  128.         just want the rubber-band window opening & closing.
  129.         Default is on (-i)! That means say -!i to turn it off.
  130.  
  131.  
  132.      -l number
  133.      LINES=short
  134.         The number of lines of icons to stack down the bottom. (My
  135.         and Tim's preferred place). Default is 1, which builds one
  136.         line down the bottom, then starts building up. If Lines=0,
  137.         the windows' wicons are placed where they are (parent X,Y).
  138.  
  139.      -p priority
  140.      PRIORITY=short
  141.         Changes this tasks priority. I can't imagine why this
  142.         would make much difference, (and it doesn't). The default
  143.         is (-p+0), which makes no change.
  144.  
  145.      -q | -!q
  146.      QUIET=boolean
  147.         If true, does not display the Copyright message. The
  148.         default is on (-q).
  149.  
  150.      -r | -!r
  151.      RMBTRAP=boolean
  152.         If true, then we also iconify those windows that have
  153.         are receiving RMB (Right Mouse Button) events (through
  154.         RMBTRAP). Default is false (-!r).
  155.  
  156.      -s | -!s
  157.      STICKY=booelan
  158.        If true, iconifed windows stick to the WorkBench window,
  159.        ie behind application windows, just like a real Icon!
  160.        Default is false (-!s). Depth gadgets are off by default]
  161.        in this mode so that you can't inadvertently push your
  162.        icon behind the WorkBench (Backdrop) Window!
  163.  
  164.      -t | -!t
  165.      TESTING=boolean
  166.         Testing, just Opens and Closes a window using MacWin.
  167.         (ie Installs/Deinstalls OpenWindow & CloseWindow).
  168.         Default is false (-!t)
  169.  
  170.      -W string
  171.      WINDOW=string
  172.         Based on the Manx implementation (but fully independent)
  173.         a window is opened if a ToolType parsing error occurs.
  174.         The default window is "CON:0/0/640/100/Error Window". Note
  175.         the CAPITAL `W'. This doesn't work from CLI anyway.
  176.  
  177.      -w | -!w
  178.      WBWINDOWS=boolean
  179.         When true, WorkBench Windows ie those drawers etc that appear
  180.         from double clicking icons, are also available to be
  181.         iconified. Default is false (-!w).
  182.  
  183.  
  184.     To get a list of defaults, just type "wicon ?" or "wicon \?" from
  185.     shell or csh.
  186.  
  187. FILES
  188.      Wicon.info     - yes it's implemented, all of 3 lines!
  189.  
  190. BUGS
  191.      A very few  programs don't like it. Most look really interesting,
  192.      like Preferences which opens a 1x1 window I presume to,
  193.      like everyone else to get WBENCHWINDOW->WScreen. Unless you don't
  194.      like it.
  195.  
  196.      Had problems with a friends version of mclk, I believe it has
  197.      timing problems because I take so long to return from the
  198.      CloseWindow call.
  199.  
  200.      One real bug is that occassionally (twice in 5 months), closing a
  201.      window writes outside its bounds as though it was bigger to
  202.      begin with. I can't duplicate it.
  203.  
  204.      Wicon's inherit their Parent's Window->Titles and ScreenTitles.
  205.      (Menus crash.) If these change, then Wicon doesn't know. This
  206.      has never happened, but if it happens to you, just take out
  207.      the offending code. Also, if a version is made that inherits
  208.      the kill gadget, (and thus the UserPort) beware of programs
  209.      that release the resources of another program by looking
  210.      at the ownership of Ports (Sig_Task).
  211.  
  212.      Beware of any program that uses SetFunction(), things like
  213.      mwb especially.  When they exit, they restore the vectors to
  214.      what they were originally.  Wicon waits arounds until the vectors
  215.      it installed are restored! (See UnSetFunction(3) ).
  216.  
  217. SEE ALSO
  218.      OpenWindow(3), CloseWindow(3), GetDiskObject(3).
  219.  
  220. AUTHOR
  221.      Steven Sweeting 24-Apr-88
  222.  
  223.      If you like this program send me a postcard:
  224.  
  225.         Steven Sweeting        FAX  +61 2 772-2713
  226.         442 Willarong Rd,
  227.         Caringbah 2229
  228.         NSW, Australia.
  229.  
  230.      ACSNET/CSNET: steven@kylie.oz.AU ARPA: steven%kylie.oz.AU@UUNET.UU.NET
  231.      UUCP: {uunet,hplabs,mcvax,ukc,nttlab}!munnari!kylie.oz!steven
  232.  
  233.      Send $AUD10 for a disk with latest source of any P.D. stuff I've
  234.      done. Please specify preferred File System, and version number :-).
  235.  
  236.      Thanks to Andrew Smith for being a pain w.r.t. the WIconification
  237.      method, and Tim Edgoose for suggesting LINES.
  238.  
  239. DISCLAIMER
  240.      This program is NOT in the public domain. Distribution of source and
  241.      executable (as a whole) for profit (other than by non-profit
  242.      organisaitons) may not take place without consent from the Author.
  243.      Sections of code other than the Input Handler may be freely utilised
  244.      anywhere anyhow.
  245.  
  246.      This notice must be included whenever this program (source or
  247.      executable) is propogated.
  248.  
  249.      There are no guarantees that this program won't install a virus in
  250.      some hidden track of some particular HD*: device, reset the system
  251.      time when it feels like it, set its process priority to +127 and
  252.      busy wait, or just give a really nasty GURU.  (Moi?)
  253.  
  254.      Any resemblance of this program to any operating system living or
  255.      dead is totally coincidental, (especially to the Wac :-)
  256.  
  257.      Portions Copyright (c) 1987 Davide P. Cervone (Input Handler)
  258.  
  259. .PROJECT
  260.      To write a program with more options than (unix) ls.
  261.  
  262. .PLAN
  263.      To write a program with more options than acsstate!
  264.  
  265. FUTURE
  266.     If I do do anymore, it will be to implement bit-map sliding icons,
  267.     graphic self-updating icons. Also  kill gadgets and other things
  268.     through a linking of IDCMP ports.  Please write programs that iconify
  269.     themselves (without my help, through RMBTRAP), using the Right
  270.     Mouse Button, ieg AmigaP, and DME.
  271.  
  272. NOTES
  273.      Ok, all you CLI programmers, now there's no excuse, before you chuck
  274.      this program away, have a look at GetTools(), which just converts
  275.      the ToolTypes to (argc-1,argv-1), and also UnSetFunction(), which
  276.      MUST be used to maintain the integrity of your program if you use
  277.      SetFunction().
  278.  
  279.      Although the MacWin stuff is done above board (locking the Screen),
  280.      (Set/UnSetFunction), please don't use it in commercial programs,
  281.      its just looking for trouble. I have however found only two
  282.      programs, clk2 (and presumably clk, and The yellow sub BADGE demo).
  283.  
  284.      Much of this isn't supposed to work, according to the 1.1 Docs
  285.      anyway!
  286.  
  287.  
  288. REVISION 1.14         Last Modified 24-Apr-88         (c) 1988
  289.  
  290.